package br.com.jk.produto;

import br.com.jk.util.pesquisa.Pesquisa.Opcao;
import java.util.List;

/**
 *
 * @author camilo
 */
public interface ProdutoDao {

  public static final String NAME_TABLE = "produto";
  public static final String NAME_SCHEMA = "public";
  public static final String NAME_COLUMN_EMBALAGEM = "emb";
  public static final String NAME_COLUMN_ID_EMPRESA = "id_empresa";
  public static final String NAME_COLUMN_COD_EAN = "cod_ean";
  public static final String NAME_COLUMN_DESCRICAO = "descricao";
  public static final String NAME_COLUMN_PRECO_VENDA = "preco_venda";
  public static final String NAME_COLUMN_ATIVO = "ativo";
  public static final String NAME_COLUMN_COD_MIXDB = "cod_mixdb";
  public static final String NAME_COLUMN_COMPLEMENTO = "complemento";
  public static final String NAME_COLUMN_MARCA = "marca";
  public static final String NAME_FK_PRODUTO_EMPRESA = "fk_produto_empresa";
  public static final String NAME_SEQUENCE = "seq_produto";

  public void salvar(Produto produto);

  public void excluir(Produto produto);

  public Produto carregar(int id);
  
  public Produto carregarCodEan(String cod);

  public List<Produto> listar();

  public List<Produto> pesquisaPadrao(String property, String criterio, Opcao opcao);

  public List<Produto> pesquisaPadrao(String property, int criterio, Opcao opcao);
}
